#ifndef STACK_H
#define STACK_H

#include "List.h"
template<class STACKTYPE>
class Stack : private List<STACKTYPE>{
	public:
		void push(const STACKTYPE &data)
		{
			List<STACKTYPE>::insertAtBack(data);
		}
		bool pop(STACKTYPE &data)
		{
			return List<STACKTYPE>::removeFromBack(data);
		} 
		bool isStackEmpty() const
		{
			return ( List<STACKTYPE>::isEmpty() );
		}
		void printStack() const
		{
			List<STACKTYPE>::print();
		}
}; 

#endif 
